Іконки для Light Alloy створюються у вигляді пакету з двох файлів:
Зв'язок цих двох файлів визначається їх однаковим ім'ям при різних розширеннях. Так, якщо ви створюєте бібліотеку іконок з ім'ям graphite.icl, то файл опису до неї повинен мати ім'я graphite.xml і ніяк інакше.
Усе розпочинається із створення іконки відповідно до вашої ідеї. У ОС Windows іконки формуються декількома варіантами зображень. Причому, на відміну від Лінукса, де різні розміри досягаються масштабуванням векторних іконок, в Windows можна малювати скільки завгодно незалежних варіантів іконок для кожного розміру:
Необхідно пам'ятати, що чим менше розмірів іконки ви зробите, тим менше місця ця іконка займатиме. Крім того, щоб ще сильніше зменшити розмір іконок, до них можна застосовувати png-стискування (до розмірів 64х64 і вище). Воно дозволяє зменшити займаний розмір іконки в 3-10 разів без втрати якості.
Втім, є мінімальний ефективний набір розмірів, які рекомендується використовувати. Зверніть увагу, що усі розміри являють собою квадрат:
Почати малювання іконки рекомендується з найбільшого розміру - 256х256. А далі доведеться вирішувати дуже важливе питання: як саме малювати менші розміри. Тут є два варіанти:
Перший метод дуже швидкий, але добрі результати дає тільки там, де немає дрібних деталей:
Якщо ж в іконці є присутніми дрібні деталі, то створення зменшеного розміру шляхом масштабування виглядатиме розмитим, незважаючи на усі старання:
Як бачимо, чим менший розмір, тим гірше виглядає зображення.
У таких випадках малювання кожного розміру окремо, хоч і займе набагато більше часу, але дасть більше вражаючий результат.
Зверніть увагу, наскільки усе чітко і ясно:
При створенні бібліотеки вам потрібно буде визначити рівень її повноти і універсальності. Ваша бібліотека може містити:
Також можна комбінувати підходи. Наприклад, можна створити іконки для трьох типів, а також персональні іконки для деяких розширень.
Від вашого вибору залежатимуть універсальність, зручність і розмір вашого пакету іконок.
Файл опису зберігає інформацію про автора, назву і короткий (дуже короткий!) опис пакету іконок. Рекомендується створювати файл, використовуючи кодування "UTF-8 with signature" (вона ж - UTF-8 BOM).
Усередині він може мати, наприклад, такий вигляд:
<?xml version="1.0" encoding="UTF-8"?> <ICONLIB> <AUTHOR name="Ham" email="" homepage="" comments="256x48x32x16"/> <ICONS> <ICON id="0" ext="AAC,AC3,AIF,APE,AT3,AU,CDA,DTS,FLAC,MIDI,MKA,MOD,MP3,MPA,MPC,OGG,WAV,WMA,OPUS"/> <!-- audio --> <ICON id="1" ext="ASX,BDMV,CUE,IFO,LAP,LST,M3U,MPLS,PLS"/> <!-- playlist --> <ICON id="2" ext="AVI,AVS,FLV,M1V,M2TS,MKV,MOV,MP4,MPG,MPV,MTS,OGM,QT,RMVB,TS,VOB,WEBM"/> <!-- video --> </ICONS> </ICONLIB>
Розберемося, що тут до чого. Ось звичайний рядок:
<AUTHOR name="Ham" email="" homepage="" comments="256x48x32x16"/>
Це тег - одинична команда. Він характеризується особливими дужками: < >. У нас тут використовується два види тегів:
Парні теги складаються з двох частин: що відкриває і закриває (наприклад, <ICONLIB> </ICONLIB>). Усередині парних тегів можуть бути інші теги.
Одиничні теги - <ICON /> - характеризуються косою рискою перед другою дужкою. По суті, запис "<ICON />" рівнозначний запису "<ICON></ICON>". Так робиться просто для спрощення.
У нашому випадку теги складаються з таких частин:
Тепер пройдемося за нашим зразком і подивимося, що за що відповідає:
Інформація від автора:
<AUTHOR name="Ham" email="" homepage="" comments="256x48x32x16"/>
Заява іконок:
<ICON id="1" ext="ASX,BDMV,CUE,IFO,LAP,LST,M3U,MPLS,PLS"/>
Усе, що нам залишається, це перевірити, що у обох файлів однакові імена, та опублікувати їх разом із скріншотом в спеціальній гілці форуму, заздалегідь запакувавши в архів (старожили рекомендують .zip).